package com.sc.nft.service;

import com.sc.nft.entity.EcologyHatchUsePropsExchange;
import com.sc.nft.entity.req.EcologyHatchUsePropsExchangeRequest;
import com.sc.nft.entity.vo.ecology.EcologyHatchExchangeConfPropDetailsVO;

import java.util.List;

/**
 * @author 朱梦晨
 * @Description:
 * @date 2024-08-06
 */
public interface EcologyHatchUsePropsExchangeService {


    /**
     * 编辑熔炼上限道具关联表
     * @param ecologyHatchId
     * @param confId
     * @param ecologyHatchUsePropsExchangeRequestList
     */
    void editEcologyHatchUsePropsExchange(Long ecologyHatchId, Long confId,
                                          List<EcologyHatchUsePropsExchangeRequest> ecologyHatchUsePropsExchangeRequestList);

    /**
     * 获取熔炼上限兑换配置道具卡详情
     * @param confId
     * @return
     */
    List<EcologyHatchUsePropsExchange> findEcologyHatchUsePropsExchangeListByConfId(Long confId);

    /**
     * 获取熔炼上限兑换配置道具卡详情
     * @param confId
     * @return
     */
    List<EcologyHatchUsePropsExchange> findAdminEcologyHatchUsePropsExchangeListByConfId(Long confId);


    /**
     * 获取生态熔炼上限兑换配置消耗道具卡详情 带拥有数量
     * @param confId
     * @param userId
     * @return
     */
    List<EcologyHatchExchangeConfPropDetailsVO> findEcologyHatchExchangeConfPropList(Long confId, Long userId);


    /**
     * 更新状态
     * @param id
     * @param status
     */
    void updateStatus(Long id, Boolean status);

    void dealExchangeUsePropsById(Long id);

}
